Disposing an object twice in the same method, either with the using keyword or by calling Dispose
directly, is confusing and error-prone. For example, another developer might try to use an already-disposed object, or there can be runtime errors for
specific paths in the code.
In addition, even if the documentation explicitly states that
calling the Dispose
method multiple times should not throw an exception, some implementations still do it. Thus it is safer to not
dispose of an object twice when possible.